

******************************************************************
** Article: News Avoidance and Congruent Voting				    **
**			Results of an Electoral Panel Study in Belgium		**
** Journal: European Political Science Review					**
** Date:	March 2026		 									**
** Authors:	Hooghe & Stiers										**
******************************************************************


***************
***Load data***
***************

use "Replication_data.dta" , clear


**************
***Analyses***
**************

***Table 1. Factor analysis of news avoidance
*Wave 1
factor W1_news_socmed W1_news_important W1_news_notime W1_news_toomuch W1_news_switchaway W1_news_notinteresting
alpha W1_news_socmed W1_news_important W1_news_notime W1_news_toomuch W1_news_switchaway W1_news_notinteresting

*Wave 2
factor W2_news_socmed W2_news_important W2_news_notime W2_news_toomuch W2_news_switchaway W2_news_notinteresting
alpha W2_news_socmed W2_news_important W2_news_notime W2_news_toomuch W2_news_switchaway W2_news_notinteresting


***Table 2. Explaining news avoidance
*Model 1
regress avoidance gender age i.education i.region if sample==1
*Model 2
regress avoidance gender age i.education interest knowledge i.region if sample==1
*Model 3
regress avoidance gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1


***Table 3. The association between news avoidance and ideologically congruent voting
*Model 1
regress congruence avoidance i.region if sample==1
*Model 2
regress congruence avoidance gender age i.education i.region if sample==1
*Model 3
regress congruence avoidance gender age i.education interest knowledge i.region if sample==1
*Model 4
regress congruence avoidance gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1
*Model 5
regress congruence i.education interest c.avoidance##c.knowledge gender age internal_efficacy external_efficacy i.region if sample==1

	
***Figure 1. Effects of main variables on ideological distance between voter and party
*Estimate model
regress congruence avoidance i.education interest knowledge gender age internal_efficacy external_efficacy i.region if sample==1

*Figure 1 panel 1
margins, at(avoidance=(1(1)5))
marginsplot, scheme(lean1) recast(connected) recastci(rline) ciopts(lpattern(shortdash)) title("") xtitle("News avoidance") ytitle("Congruence of the vote",size(small)) addplot(hist avoidance if e(sample), percent width(0.33) yaxis(2) yscale(axis(2) alt) yscale(range(0(10)40) axis(2)) ylabel(1(0.2)2,labsize(small)) ylabel(0 10,axis(2) labsize(small)) ytitle("Percentage of observations", axis(2) placement(south) size(small))) legend(off) xlabel(1(1)5) name(F1)

*Figure 1 panel 2
margins, at(education=(0 1 2))
marginsplot, scheme(lean1) recast(scatter) title("") xtitle("Educational level") ytitle("Congruence of the vote") addplot(hist education if e(sample), percent discrete barwidth(0.5) yaxis(2) yscale(axis(2) alt) yscale(range(0(10)350) axis(2)) ylabel(1(0.2)2,labsize(small)) ylabel(0 25 50,axis(2) labsize(small)) ytitle("Percentage of observations", axis(2) placement(south) size(small)) xscale(range(-0.3 2.3)) xlabel(0 `""Lowly" "Educated""' 1 `""Middle" "educated""' 2 `""Highly" "educated""') ) legend(off) yscale(range(1 2) axis(1)) ylabel(1(0.2)2,axis(1)) name(F2)

*Figure 1 panel 3
margins, at(knowledge=(0(1)4))
marginsplot, scheme(lean1) recast(connected) recastci(rline) ciopts(lpattern(shortdash)) title("") xtitle("Political knowledge") ytitle("Congruence of the vote",size(small)) addplot(hist knowledge if e(sample), percent discrete barwidth(0.5) yaxis(2) yscale(axis(2) alt) yscale(range(0.9 2)) yscale(range(0(10)100) axis(2)) ylabel(,labsize(small)) ylabel(0 10,axis(2) labsize(small)) ytitle("Percentage of observations", axis(2) placement(south) size(small))) legend(off) xlabel(0(1)4) name(F3)

*Full Figure 1
graph combine F1 F2 F3 , scheme(lean1) r(1) xsize(11)


***Figure 2. Average marginal effect of news avoidance at different levels of political knowledge
*Estimate model
regress congruence i.education interest c.avoidance##c.knowledge gender age internal_efficacy external_efficacy i.region if sample==1

*Full Figure 2
margins, dydx(avoidance) at(knowledge=(0 1 2 3 4))
marginsplot, scheme(lean1) recast(scatter) title("") xtitle("Political knowledge") ytitle("Effect of avoidance" "on congruence of the vote") yline(0,lpattern(shortdash)) addplot(hist knowledge if e(sample), percent discrete barwidth(0.5) fcolor(gs13%50) yaxis(2) yscale(axis(2) alt) yscale(range(0(10)120) axis(2)) ylabel(,labsize(small)) ylabel(0 10,axis(2) labsize(small)) ytitle("Percentage of observations", axis(2) placement(south) size(small)) xscale(range(-0.5 4.5))) ylabel(-0.3 -0.1 0.1 0.3) legend(off)



****************
***Appendices***
****************

***Appendix B: Results using factor scores to measure news avoidance
*Table B.1. Replication of Table 3 using factor scores to measure news avoidance
//Model 1
regress congruence avoidance_alt i.region if sample==1
//Model 2
regress congruence avoidance_alt gender age i.education i.region if sample==1
//Model 3
regress congruence avoidance_alt gender age i.education interest knowledge i.region if sample==1
//Model 4
regress congruence avoidance_alt gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1
//Model 5
regress congruence i.education interest c.avoidance_alt##c.knowledge gender age internal_efficacy external_efficacy i.region if sample==1


***Appendix C: Results using a weight to correct for socio-demgographic characteristics and attrition
*Table C.1. Replication of Table 3 using a weight
//Model 1
regress congruence avoidance i.region if sample==1 [pweight=W2_WeightSocDemTurnAttrition]
//Model 2
regress congruence avoidance gender age i.education i.region if sample==1 [pweight=W2_WeightSocDemTurnAttrition]
//Model 3
regress congruence avoidance gender age i.education interest knowledge i.region if sample==1 [pweight=W2_WeightSocDemTurnAttrition]
//Model 4
regress congruence avoidance gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1 [pweight=W2_WeightSocDemTurnAttrition]
//Model 5
regress congruence i.education interest c.avoidance##c.knowledge gender age internal_efficacy external_efficacy i.region if sample==1 [pweight=W2_WeightSocDemTurnAttrition]
est store m5


***Appendix D: Results using the vote for the European elections
*Table D.1. Replication of Table 3 using the European vote
//Model 1
regress congruence_EU avoidance i.region if sample==1
//Model 2
regress congruence_EU avoidance gender age i.education i.region if sample==1
//Model 3
regress congruence_EU avoidance gender age i.education interest knowledge i.region if sample==1
//Model 4
regress congruence_EU avoidance gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1
//Model 5
regress congruence_EU i.education interest c.avoidance##c.knowledge gender age internal_efficacy external_efficacy i.region if sample==1


***Appendix E: Age and news avoidance
*Figure E.1. Age and news avoidance
//Estimate model
regress avoidance gender age i.education interest knowledge internal_efficacy external_efficacy i.region if sample==1
//Figure E.1
margins, at(age=(18(1)89))
marginsplot, recast(line) recastci(rline) scheme(lean1) title("") xtitle("Age") ytitle("News avoidance") addplot(hist age,percent discrete yaxis(2) yscale(range(0 7.5) axis(2) alt) ylabel(0 2.5,axis(2)) ytitle("Percentage of observations",placement(south) axis(2)) xlab(20(10)80) xscale(range(18 89))) legend(off)
